5601{
5602
5605
5606
5610
5612
5613 sScriptMgr->OnSpellCheckCast(
this, strict, res);
5614
5616 return res;
5617
5618
5620 {
5622 {
5623
5626
5628 {
5631 else
5633 }
5634
5635
5638 }
5641 }
5642
5644 {
5647 }
5648
5649
5652
5653
5658
5660 {
5664
5668 }
5669
5670
5671
5673 {
5674 bool checkForm = true;
5675
5677 for (Unit::AuraEffectList::const_iterator i = ignore.begin(); i != ignore.end(); ++i)
5678 {
5680 continue;
5681 checkForm = false;
5682 break;
5683 }
5684 if (checkForm)
5685 {
5686
5689 return shapeError;
5690
5693 }
5694 }
5695
5697 for (Unit::AuraEffectList::const_iterator blockItr = blockSpells.begin(); blockItr != blockSpells.end(); ++blockItr)
5700
5701 bool reqCombat = true;
5703 for (Unit::AuraEffectList::const_iterator j = stateAuras.begin(); j != stateAuras.end(); ++j)
5704 {
5706 {
5708 if ((*j)->GetMiscValue() == 1)
5709 {
5710 reqCombat = false;
5711 break;
5712 }
5713 }
5714 }
5715
5716
5717
5719 {
5724
5725
5730
5733 }
5734
5735
5737 {
5740 if (instanceScript->IsEncounterInProgress())
5741 {
5743 for (
GroupReference* itr = group->GetFirstMember(); itr !=
nullptr; itr = itr->
next())
5744 if (
Player* member = itr->GetSource())
5748 {
5751 break;
5752 }
5754 }
5755 }
5756
5757
5758
5760 {
5761
5765 }
5766
5769 {
5772 {
5775 {
5777 if (shapeShiftEntry && (shapeShiftEntry->
flags1 & 1) == 0)
5779 break;
5780 }
5781 }
5782
5785
5786 if (!checkMask)
5788
5789
5794 }
5795
5796
5797 {
5801 if (!conditions.empty() && !
sConditionMgr->IsObjectMeetToConditions(condInfo, conditions))
5802 {
5803
5805 {
5809 }
5813 }
5814 }
5815
5816
5817
5818
5819
5820
5822 {
5823
5824
5826 {
5829 return castResult;
5830 }
5831 }
5832
5834 {
5837 return castResult;
5838
5840 {
5841
5844
5845
5848
5851 {
5852 bool castedByGameobject = false;
5855 {
5857 }
5859 {
5861 {
5862 castedByGameobject = tempSummon->GetSummonerGameObject() != nullptr;
5863 }
5864 }
5865
5866 if (castedByGameobject)
5867 {
5868
5869 losChecks &= ~LINEOFSIGHT_CHECK_GOBJECT_M2;
5870 }
5871
5873 {
5875 }
5876 }
5877 }
5878 }
5879
5880
5882 {
5883 float x, y, z;
5885
5888 {
5889 bool castedByGameobject = false;
5892 {
5894 }
5896 {
5898 {
5899 castedByGameobject = tempSummon->GetSummonerGameObject() != nullptr;
5900 }
5901 }
5902
5903 if (castedByGameobject)
5904 {
5905
5906 losChecks &= ~LINEOFSIGHT_CHECK_GOBJECT_M2;
5907 }
5908
5910 {
5912 }
5913 }
5914 }
5915
5916
5918 {
5920 {
5922 {
5925 else
5927 }
5928 break;
5929 }
5930 }
5931
5935
5936
5937
5938
5942 if (mapEntry->IsBattleArena())
5944
5945
5947 {
5950
5954 return locRes;
5955 }
5956
5957
5960 {
5963 else
5965 }
5966
5968
5969
5971 {
5972
5975 return castResult;
5976
5979 return castResult;
5980 }
5981
5982
5983
5986 return castResult;
5987
5989 {
5992 return castResult;
5993 }
5994
5995
5997 {
6000 return castResult;
6001
6002
6004 {
6006 for (SpellImmuneList::const_iterator itr = mechanicList.begin(); itr != mechanicList.end(); ++itr)
6009 }
6010 }
6011
6012
6015 return castResult;
6016
6017 bool hasDispellableAura = false;
6018 bool hasNonDispelEffect = false;
6022 {
6024 {
6025 hasDispellableAura = true;
6026 break;
6027 }
6028
6030 }
6032 {
6033 hasNonDispelEffect = true;
6034 break;
6035 }
6036
6037 if (!hasNonDispelEffect && !hasDispellableAura && dispelMask && !
IsTriggered())
6038 {
6040 {
6041
6043 {
6045 {
6046
6048 if (!player || !player->
duel || target != player->
duel->Opponent)
6050 }
6051 }
6052
6054 target->GetDispellableAuraList(
m_caster, dispelMask, dispelList);
6055 if (dispelList.empty())
6057 }
6058 }
6059
6061 {
6062
6064 {
6066 {
6068 {
6069
6071 {
6073 if (!target)
6075
6078 }
6079 }
6080 break;
6081 }
6083 {
6086
6088 break;
6089
6091
6092 if (!pet)
6094
6096
6097 if (!learn_spellproto)
6099
6102
6103 break;
6104 }
6106 {
6107
6109 {
6112
6116
6118
6119 if (!learn_spellproto)
6121
6124 }
6125 break;
6126 }
6128 {
6133 break;
6134 }
6136 {
6139
6141 if (!foodItem)
6143
6145
6146 if (!pet)
6148
6151
6154
6157
6158 break;
6159 }
6162 {
6163
6168 break;
6169 }
6171 {
6173 {
6175 }
6176
6178 {
6179
6182 }
6184 {
6185
6187 {
6189 }
6190 }
6195
6196
6198 {
6200 if (!target)
6202
6203
6206
6209
6212
6213
6221
6223 }
6226 break;
6227 }
6229 {
6232
6235
6239
6241
6244 int32 ReqValue = (skillValue < 100 ? (TargetLevel - 10) * 10 : TargetLevel * 5);
6245 if (ReqValue > skillValue)
6247
6248 break;
6249 }
6251 {
6254 break;
6255
6257
6260
6261 Item* pTempItem =
nullptr;
6263 {
6266 }
6269
6270
6275
6276
6278 {
6280 {
6282 }
6283 }
6286 {
6288 {
6291 }
6295 }
6296
6297
6300 {
6301 lockId = go->GetGOInfo()->GetLockId();
6302 if (!lockId)
6304 }
6306 lockId = itm->GetTemplate()->LockID;
6307
6309 int32 reqSkillValue = 0;
6310 int32 skillValue = 0;
6311
6312
6315 return res;
6316
6317
6318
6320 {
6321
6323 {
6325 }
6326 }
6327 break;
6328 }
6330 {
6332 if (!unitCaster)
6333 {
6335 }
6336
6338 if (pet)
6339 {
6341 {
6343 }
6344 }
6346 {
6347 PetStable& petStable = playerCaster->GetOrInitPetStable();
6349 {
6351 }
6352 }
6353
6354 break;
6355 }
6356
6358 {
6361 break;
6362 switch (SummonProperties->
Category)
6363 {
6367 [[fallthrough]];
6371 break;
6372 }
6373 break;
6374 }
6376 {
6378 {
6383 }
6384 break;
6385 }
6387 {
6389 if (!unitCaster)
6391
6393 {
6398 }
6399
6403
6406 {
6408 if (info.first)
6409 {
6411 {
6412 if (!info.first->Health)
6413 {
6416 }
6417
6420 {
6421
6422 if (creatureInfo && creatureInfo->
IsTameable(
true))
6424 else
6426
6428 }
6429 }
6430 }
6432 {
6435 }
6436 }
6437 break;
6438 }
6440 {
6445
6449
6450
6453
6454
6457 {
6460
6461
6462
6463
6464
6466 if (!instance)
6468 if (!target->
Satisfy(
sObjectMgr->GetAccessRequirement(mapId, difficulty), mapId))
6470 }
6471 break;
6472 }
6473
6475 {
6478
6480
6483
6485
6486 if (!target ||
6489
6490
6493
6494 break;
6495 }
6498 {
6499
6504 break;
6505 }
6507 {
6510
6511 bool found = false;
6513 for(Unit::VisibleAuraMap::const_iterator itr = visibleAuras->begin(); itr != visibleAuras->end(); ++itr)
6514 {
6515 if( itr->second->GetBase()->IsPassive() )
6516 continue;
6517
6518 if( !itr->second->IsPositive() )
6519 continue;
6520
6521 found = true;
6522 break;
6523 }
6524
6525 if( !found )
6527
6528 break;
6529 }
6531 {
6533 {
6536 else
6538 }
6539 break;
6540 }
6541
6544 {
6547 break;
6548 }
6552
6557 break;
6558 default:
6559 break;
6560 }
6561 }
6562
6564 {
6566 {
6568 break;
6570 {
6573
6575 if (!pet)
6577
6580 break;
6581 }
6585 {
6588
6589
6591 {
6594
6597 }
6599 {
6602 }
6603
6605 {
6608
6611
6614
6617
6620
6624 }
6625
6626 break;
6627 }
6629 {
6630
6633
6634
6637 if (it)
6641
6644
6645
6651
6652 break;
6653 }
6655 {
6658
6659
6662
6663 break;
6664 }
6667 {
6668
6671
6672
6673
6675 {
6680 }
6681 break;
6682 }
6684 {
6686 break;
6687
6689 break;
6690
6693
6696
6697 break;
6698 }
6700 {
6702 {
6704 }
6705 break;
6706 }
6708 {
6710 {
6712 }
6713 break;
6714 }
6715 default:
6716 break;
6717 }
6718 }
6719
6720
6722 {
6725
6728
6730
6731 if (!my_trade)
6733
6737
6741 }
6742
6743
6745 {
6747 {
6749 {
6751 }
6752 }
6753 else
6754 {
6756 {
6758 }
6759 }
6760 }
6761
6762
6766
6767
6769}
#define SPECTATOR_SPELL_BINDSIGHT
Definition: ArenaSpectator.h:38
#define sBattlefieldMgr
Definition: BattlefieldMgr.h:77
@ STATUS_WAIT_LEAVE
Definition: Battleground.h:198
@ STATUS_IN_PROGRESS
Definition: Battleground.h:197
constexpr auto IN_MILLISECONDS
Definition: Common.h:62
constexpr auto MINUTE
Definition: Common.h:56
#define sConditionMgr
Definition: ConditionMgr.h:289
@ CONDITION_SOURCE_TYPE_SPELL
Definition: ConditionMgr.h:139
std::list< Condition * > ConditionList
Definition: ConditionMgr.h:236
@ VEHICLE_SEAT_FLAG_CAN_CAST_MOUNT_SPELL
Definition: DBCEnums.h:461
@ VEHICLE_SEAT_FLAG_UNCONTROLLED
Definition: DBCEnums.h:462
@ VEHICLE_SEAT_FLAG_CAN_ATTACK
Definition: DBCEnums.h:463
Difficulty
Definition: DBCEnums.h:271
@ AREA_FLAG_NO_FLY_ZONE
Definition: DBCEnums.h:267
DBCStorage< SpellShapeshiftEntry > sSpellShapeshiftStore(SpellShapeshiftfmt)
DBCStorage< SummonPropertiesEntry > sSummonPropertiesStore(SummonPropertiesfmt)
DBCStorage< MapEntry > sMapStore(MapEntryfmt)
DBCStorage< GlyphPropertiesEntry > sGlyphPropertiesStore(GlyphPropertiesfmt)
DBCStorage< AreaTableEntry > sAreaTableStore(AreaTableEntryfmt)
std::int32_t int32
Definition: Define.h:104
std::uint16_t uint16
Definition: Define.h:109
@ GO_STATE_READY
Definition: GameObject.h:735
@ INVTYPE_RELIC
Definition: ItemTemplate.h:293
LineOfSightChecks
Definition: Map.h:190
@ LINEOFSIGHT_ALL_CHECKS
Definition: Map.h:197
@ PATHFIND_NOPATH
Definition: PathGenerator.h:51
@ PATHFIND_SHORT
Definition: PathGenerator.h:53
@ PATHFIND_INCOMPLETE
Definition: PathGenerator.h:50
@ HUNTER_PET
Definition: PetDefines.h:32
@ PLAYER_ALLOW_ONLY_ABILITY
Definition: Player.h:498
int32 irand(int32 min, int32 max)
Definition: Random.cpp:37
@ GAMEOBJECT_TYPE_TRAP
Definition: SharedDefines.h:1538
@ GAMEOBJECT_TYPE_DOOR
Definition: SharedDefines.h:1532
Powers
Definition: SharedDefines.h:240
@ POWER_MANA
Definition: SharedDefines.h:241
@ SPELL_ATTR7_DEBUG_SPELL
Definition: SharedDefines.h:616
@ SPELL_EFFECT_DUMMY
Definition: SharedDefines.h:753
@ SPELL_EFFECT_LEAP
Definition: SharedDefines.h:779
@ SPELL_EFFECT_POWER_BURN
Definition: SharedDefines.h:812
@ SPELL_EFFECT_STUCK
Definition: SharedDefines.h:834
@ SPELL_EFFECT_SUMMON_RAF_FRIEND
Definition: SharedDefines.h:902
@ SPELL_EFFECT_APPLY_GLYPH
Definition: SharedDefines.h:824
@ SPELL_EFFECT_FEED_PET
Definition: SharedDefines.h:851
@ SPELL_EFFECT_SUMMON_PLAYER
Definition: SharedDefines.h:835
@ SPELL_EFFECT_JUMP_DEST
Definition: SharedDefines.h:792
@ SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER
Definition: SharedDefines.h:793
@ SPELL_EFFECT_RESURRECT_PET
Definition: SharedDefines.h:859
@ SPELL_EFFECT_LEAP_BACK
Definition: SharedDefines.h:888
@ SPELL_EFFECT_SUMMON
Definition: SharedDefines.h:778
@ SPELL_EFFECT_POWER_DRAIN
Definition: SharedDefines.h:758
@ SPELL_EFFECT_RESURRECT
Definition: SharedDefines.h:768
@ SPELL_EFFECT_CHARGE
Definition: SharedDefines.h:846
@ SPELL_EFFECT_RESURRECT_NEW
Definition: SharedDefines.h:863
@ SPELL_EFFECT_TALENT_SPEC_SELECT
Definition: SharedDefines.h:912
@ SPELL_EFFECT_LEARN_SPELL
Definition: SharedDefines.h:786
@ SPELL_EFFECT_JUMP
Definition: SharedDefines.h:791
@ SPELL_EFFECT_SKINNING
Definition: SharedDefines.h:845
@ SPELL_EFFECT_CREATE_TAMED_PET
Definition: SharedDefines.h:903
@ SPELL_EFFECT_OPEN_LOCK
Definition: SharedDefines.h:783
@ SPELL_EFFECT_STEAL_BENEFICIAL_BUFF
Definition: SharedDefines.h:876
@ SPELL_EFFECT_LEARN_PET_SPELL
Definition: SharedDefines.h:807
@ SPELL_PREVENTION_TYPE_NONE
Definition: SharedDefines.h:1525
@ SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT
Definition: SharedDefines.h:565
@ TARGET_UNIT_PET
Definition: SharedDefines.h:1386
@ TARGET_GAMEOBJECT_TARGET
Definition: SharedDefines.h:1399
@ SPELL_ATTR2_IGNORE_LINE_OF_SIGHT
Definition: SharedDefines.h:430
@ SPELL_ATTR1_INITIATE_COMBAT
Definition: SharedDefines.h:400
@ SPELL_ATTR3_ONLY_BATTLEGROUNDS
Definition: SharedDefines.h:476
@ PET_TAME_NOPET_AVAILABLE
Definition: SharedDefines.h:3655
@ PET_TAME_DEAD
Definition: SharedDefines.h:3658
@ PET_TAME_CANT_CONTROL_EXOTIC
Definition: SharedDefines.h:3660
@ CLASS_WARLOCK
Definition: SharedDefines.h:121
@ IMMUNITY_MECHANIC
Definition: SharedDefines.h:1371
@ SPELLFAMILY_WARRIOR
Definition: SharedDefines.h:3504
@ SPELLFAMILY_DEATHKNIGHT
Definition: SharedDefines.h:3515
SpellCustomErrors
Definition: SharedDefines.h:1114
@ SPELL_CUSTOM_ERROR_GM_ONLY
Definition: SharedDefines.h:1180
SpellAttr0
Definition: SharedDefines.h:353
@ SPELL_ATTR0_ONLY_INDOORS
Definition: SharedDefines.h:368
@ SPELL_ATTR0_AURA_IS_DEBUFF
Definition: SharedDefines.h:380
@ SPELL_ATTR0_ONLY_OUTDOORS
Definition: SharedDefines.h:369
@ SPELL_ATTR0_ALLOW_WHILE_MOUNTED
Definition: SharedDefines.h:378
@ SPELL_ATTR0_PASSIVE
Definition: SharedDefines.h:360
@ SPELL_ATTR0_ALLOW_CAST_WHILE_DEAD
Definition: SharedDefines.h:377
@ SPELL_ATTR0_ONLY_STEALTHED
Definition: SharedDefines.h:371
AuraStateType
Definition: SharedDefines.h:1260
DispelType
Definition: SharedDefines.h:1343
@ SPELL_FAILED_TARGET_NOT_LOOTED
Definition: SharedDefines.h:1042
@ SPELL_FAILED_NOT_INFRONT
Definition: SharedDefines.h:982
@ SPELL_FAILED_MOVING
Definition: SharedDefines.h:972
@ SPELL_FAILED_NOT_MOUNTED
Definition: SharedDefines.h:985
@ SPELL_FAILED_AFFECTING_COMBAT
Definition: SharedDefines.h:922
@ SPELL_FAILED_CASTER_AURASTATE
Definition: SharedDefines.h:943
@ SPELL_FAILED_NOTHING_TO_DISPEL
Definition: SharedDefines.h:1007
@ SPELL_FAILED_NOT_KNOWN
Definition: SharedDefines.h:984
@ SPELL_FAILED_FOOD_LOWLEVEL
Definition: SharedDefines.h:956
@ SPELL_FAILED_NOT_HERE
Definition: SharedDefines.h:981
@ SPELL_FAILED_ROOTED
Definition: SharedDefines.h:1024
@ SPELL_FAILED_TARGET_NOT_DEAD
Definition: SharedDefines.h:1040
@ SPELL_FAILED_WRONG_PET_FOOD
Definition: SharedDefines.h:1056
@ SPELL_FAILED_CUSTOM_ERROR
Definition: SharedDefines.h:1093
@ SPELL_FAILED_SUMMON_PENDING
Definition: SharedDefines.h:1104
@ SPELL_FAILED_DAMAGE_IMMUNE
Definition: SharedDefines.h:1067
@ SPELL_FAILED_BAD_IMPLICIT_TARGETS
Definition: SharedDefines.h:932
@ SPELL_FAILED_TRY_AGAIN
Definition: SharedDefines.h:1053
@ SPELL_FAILED_NO_COMBO_POINTS
Definition: SharedDefines.h:999
@ SPELL_FAILED_ALREADY_HAVE_SUMMON
Definition: SharedDefines.h:928
@ SPELL_FAILED_ALREADY_OPEN
Definition: SharedDefines.h:929
@ SPELL_FAILED_NOT_TRADING
Definition: SharedDefines.h:992
@ SPELL_FAILED_NOTHING_TO_STEAL
Definition: SharedDefines.h:1008
@ SPELL_FAILED_NO_MOUNTS_ALLOWED
Definition: SharedDefines.h:1004
@ SPELL_FAILED_NOT_IN_BATTLEGROUND
Definition: SharedDefines.h:1087
@ SPELL_FAILED_NOT_BEHIND
Definition: SharedDefines.h:978
@ SPELL_FAILED_ALREADY_HAVE_CHARM
Definition: SharedDefines.h:927
@ SPELL_FAILED_TARGET_NOT_IN_INSTANCE
Definition: SharedDefines.h:1058
@ SPELL_FAILED_HIGHLEVEL
Definition: SharedDefines.h:957
@ SPELL_FAILED_LOWLEVEL
Definition: SharedDefines.h:969
@ SPELL_FAILED_NOT_READY
Definition: SharedDefines.h:988
@ SPELL_FAILED_ONLY_BATTLEGROUNDS
Definition: SharedDefines.h:1063
@ SPELL_FAILED_NOT_IN_ARENA
Definition: SharedDefines.h:1072
@ SPELL_FAILED_ITEM_ALREADY_ENCHANTED
Definition: SharedDefines.h:963
@ SPELL_FAILED_ONLY_STEALTHED
Definition: SharedDefines.h:1016
@ SPELL_FAILED_TARGET_IS_PLAYER_CONTROLLED
Definition: SharedDefines.h:1039
@ SPELL_FAILED_ONLY_ABOVEWATER
Definition: SharedDefines.h:1009
@ SPELL_FAILED_CANT_BE_CHARMED
Definition: SharedDefines.h:934
@ SPELL_FAILED_CASTER_DEAD
Definition: SharedDefines.h:944
@ SPELL_FAILED_NOT_ON_MOUNTED
Definition: SharedDefines.h:1076
@ SPELL_FAILED_ITEM_ENCHANT_TRADE_WINDOW
Definition: SharedDefines.h:1103
@ SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED
Definition: SharedDefines.h:1107
@ SPELL_FAILED_TARGET_UNSKINNABLE
Definition: SharedDefines.h:1047
@ SPELL_FAILED_NOT_SHAPESHIFT
Definition: SharedDefines.h:989
@ SPELL_FAILED_UNIQUE_GLYPH
Definition: SharedDefines.h:1097
@ SPELL_FAILED_ONLY_OUTDOORS
Definition: SharedDefines.h:1014
@ SPELL_FAILED_CHARMED
Definition: SharedDefines.h:945
@ SPELL_FAILED_LINE_OF_SIGHT
Definition: SharedDefines.h:968
@ SPELL_FAILED_SPELL_IN_PROGRESS
Definition: SharedDefines.h:1026
@ SPELL_FAILED_NO_PET
Definition: SharedDefines.h:1005
@ SPELL_FAILED_NOPATH
Definition: SharedDefines.h:977
@ SPELL_FAILED_SPELL_UNAVAILABLE
Definition: SharedDefines.h:1028
@ SPELL_FAILED_ONLY_INDOORS
Definition: SharedDefines.h:1011
@ SPELL_FAILED_NOT_ON_TAXI
Definition: SharedDefines.h:986
@ SPELL_FAILED_TARGET_FRIENDLY
Definition: SharedDefines.h:1036
@ SPELL_ATTR4_IGNORE_DEFAULT_ARENA_RESTRICTIONS
Definition: SharedDefines.h:519
@ SPELL_ATTR4_NOT_IN_ARENA_OR_RATED_BATTLEGROUND
Definition: SharedDefines.h:518
@ SUMMON_CATEGORY_PET
Definition: SharedDefines.h:3257
@ SUMMON_CATEGORY_PUPPET
Definition: SharedDefines.h:3258
SkillType
Definition: SharedDefines.h:2835
@ SPELL_ATTR6_ALLOW_WHILE_RIDING_VEHICLE
Definition: SharedDefines.h:588
@ SPELL_FLAG_REDIRECTED
Definition: Spell.h:83
@ SPELL_AURA_ABILITY_IGNORE_AURASTATE
Definition: SpellAuraDefines.h:325
@ SPELL_AURA_MOD_SHAPESHIFT
Definition: SpellAuraDefines.h:99
@ SPELL_AURA_MOD_IGNORE_SHAPESHIFT
Definition: SpellAuraDefines.h:338
@ SPELL_AURA_PERIODIC_MANA_LEECH
Definition: SpellAuraDefines.h:127
@ SPELL_AURA_MOD_POSSESS_PET
Definition: SpellAuraDefines.h:191
@ SPELL_AURA_RANGED_ATTACK_POWER_ATTACKER_BONUS
Definition: SpellAuraDefines.h:190
@ SPELL_AURA_DUMMY
Definition: SpellAuraDefines.h:67
@ SPELL_AURA_MOD_INCREASE_SWIM_SPEED
Definition: SpellAuraDefines.h:121
@ SPELL_AURA_FLY
Definition: SpellAuraDefines.h:264
@ SPELL_AURA_HOVER
Definition: SpellAuraDefines.h:169
@ SPELL_AURA_MOUNTED
Definition: SpellAuraDefines.h:141
@ SPELL_AURA_AOE_CHARM
Definition: SpellAuraDefines.h:240
@ SPELL_AURA_MOD_POSSESS
Definition: SpellAuraDefines.h:65
@ SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED
Definition: SpellAuraDefines.h:270
@ SPELL_AURA_BLOCK_SPELL_FAMILY
Definition: SpellAuraDefines.h:360
@ AURA_INTERRUPT_FLAG_NOT_SEATED
Definition: SpellDefines.h:62
@ AURA_INTERRUPT_FLAG_MOUNT
Definition: SpellDefines.h:61
@ TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD
Will ignore GCD.
Definition: SpellDefines.h:133
@ TRIGGERED_IGNORE_CASTER_AURASTATE
Will ignore shapeshift checks.
Definition: SpellDefines.h:143
@ TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE
Will ignore caster aura states including combat requirements and death state.
Definition: SpellDefines.h:144
@ TRIGGERED_IGNORE_SHAPESHIFT
Will not adjust facing to target (if any)
Definition: SpellDefines.h:142
@ TRIGGERED_IGNORE_GCD
Not triggered.
Definition: SpellDefines.h:132
@ TRIGGERED_IGNORE_CASTER_AURAS
Will ignore mounted/on vehicle restrictions.
Definition: SpellDefines.h:145
std::vector< SpellImmune > SpellImmuneList
Definition: SpellDefines.h:179
@ TARGET_FLAG_UNIT_ENEMY
Definition: SpellInfo.h:53
@ TARGET_FLAG_ITEM
Definition: SpellInfo.h:50
@ SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER
Definition: SpellInfo.h:192
@ SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET
Definition: SpellInfo.h:193
#define SPELL_RELIC_COOLDOWN
Definition: SpellMgr.h:34
TradeSlots
Definition: TradeData.h:28
@ TRADE_SLOT_NONTRADED
Definition: TradeData.h:31
@ MOVEMENTFLAG_FALLING_FAR
Definition: Unit.h:565
#define WORLD_TRIGGER
Definition: Unit.h:36
@ UNIT_FLAG2_ALLOW_CHEAT_SPELLS
Definition: Unit.h:505
std::list< std::pair< Aura *, uint8 > > DispelChargesList
Definition: Unit.h:241
@ UNIT_STATE_ROOT
Definition: Unit.h:335
@ UNIT_STATE_CHARGING
Definition: Unit.h:342
@ UNIT_FLAG_SKINNABLE
Definition: Unit.h:474
Definition: Battlefield.h:205
bool CanFlyIn()
Return if we can use mount in battlefield.
Definition: Battlefield.h:341
Definition: Battleground.h:293
Loot loot
Definition: Creature.h:217
CreatureTemplate const * GetCreatureTemplate() const
Definition: Creature.h:196
bool IsSpellProhibited(SpellSchoolMask idSchoolMask) const
Definition: Creature.cpp:2722
Definition: GameObject.h:813
GameObjectTemplate const * GetGOInfo() const
Definition: GameObject.h:829
Definition: GroupReference.h:27
GroupReference * next()
Definition: GroupReference.h:36
Definition: InstanceScript.h:140
bool IsLocked() const
Definition: Item.h:247
ItemTemplate const * GetTemplate() const
Definition: Item.cpp:546
bool IsPotion() const
Definition: Item.h:328
bool IsDungeon() const
Definition: Map.h:447
bool IsBattlegroundOrArena() const
Definition: Map.h:455
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3295
uint32 GetId() const
Definition: Map.h:378
Difficulty GetDifficulty() const
Definition: Map.h:442
uint64 GetRawValue() const
Definition: ObjectGuid.h:144
bool IsPlayer() const
Definition: ObjectGuid.h:170
bool IsGameObject() const
Definition: ObjectGuid.h:173
Unit * ToUnit()
Definition: Object.h:200
Player * GetOwner() const
Definition: Pet.cpp:2438
bool HaveInDiet(ItemTemplate const *item) const
Definition: Pet.cpp:1403
uint32 GetCurrentFoodBenefitLevel(uint32 itemlevel) const
Definition: Pet.cpp:1421
static std::pair< PetStable::PetInfo const *, PetSaveMode > GetLoadPetInfo(PetStable const &stable, uint32 petEntry, uint32 petnumber, bool current)
Definition: Pet.cpp:162
Definition: PetDefines.h:197
Optional< PetInfo > CurrentPet
Definition: PetDefines.h:220
std::vector< PetInfo > UnslottedPets
Definition: PetDefines.h:223
void SetCanTeleport(bool value)
Definition: Player.h:2447
bool IsInSameRaidWith(Player const *p) const
Definition: Player.h:1835
bool CanTameExoticPets() const
Definition: Player.h:2137
bool CanUseBattlegroundObject(GameObject *gameobject) const
Definition: Player.cpp:12928
bool InBattleground() const
Definition: Player.h:2200
PetStable * GetPetStable()
Definition: Player.h:1178
Battleground * GetBattleground(bool create=false) const
Definition: Player.cpp:11913
WorldSession * GetSession() const
Definition: Player.h:1947
bool HasSpellCooldown(uint32 spell_id) const override
Definition: Player.cpp:16022
uint32 GetLastPotionId()
Definition: Player.h:1761
Group * GetGroup()
Definition: Player.h:2417
bool IsGameMaster() const
Definition: Player.h:1136
time_t GetSummonExpireTimer() const
Definition: Player.h:1083
bool Satisfy(DungeonProgressionRequirements const *ar, uint32 target_map, bool report=false)
Definition: PlayerStorage.cpp:6729
bool HasPlayerFlag(PlayerFlags flags) const
Definition: Player.h:1090
std::unique_ptr< DuelInfo > duel
Definition: Player.h:1827
Item * GetItemByGuid(ObjectGuid guid) const
Definition: PlayerStorage.cpp:438
GameObject * GetGOTarget() const
Definition: Spell.cpp:258
ObjectGuid GetItemTargetGUID() const
Definition: Spell.h:138
Definition: SpellInfo.h:247
int32 MiscValue
Definition: SpellInfo.h:261
uint32 ApplyAuraName
Definition: SpellInfo.h:252
std::unique_ptr< PathGenerator > m_preGeneratedPath
Definition: Spell.h:775
SpellCastResult CheckSpellFocus()
Definition: Spell.cpp:7703
SpellCastResult CanOpenLock(uint32 effIndex, uint32 lockid, SkillType &skillid, int32 &reqSkillValue, int32 &skillValue)
Definition: Spell.cpp:8306
SpellCastResult CheckItems()
Definition: Spell.cpp:7135
int32 CalculateSpellDamage(uint8 i, Unit const *target) const
Definition: Spell.h:477
SpellCastResult CheckPower()
Definition: Spell.cpp:7090
SpellCastResult CheckCasterAuras(bool preventionOnly) const
Definition: Spell.cpp:6807
SpellCastResult CallScriptCheckCastHandlers()
Definition: Spell.cpp:8505
bool IsTriggered() const
Definition: Spell.h:552
SpellCastResult CheckRange(bool strict)
Definition: Spell.cpp:7004
bool HasGlobalCooldown() const
Definition: Spell.cpp:8777
uint32 PreventionType
Definition: SpellInfo.h:388
uint32 CasterAuraSpell
Definition: SpellInfo.h:341
SpellCastResult CheckShapeshift(uint32 form) const
Definition: SpellInfo.cpp:1417
uint32 Mechanic
Definition: SpellInfo.h:321
uint32 GetDispelMask() const
Definition: SpellInfo.cpp:2023
uint32 GetRecoveryTime() const
Definition: SpellInfo.cpp:2376
bool IsSelfCast() const
Definition: SpellInfo.cpp:1073
uint32 CasterAuraState
Definition: SpellInfo.h:337
bool CanBeUsedInCombat() const
Definition: SpellInfo.cpp:1215
uint32 CasterAuraStateNot
Definition: SpellInfo.h:339
SpellSchoolMask GetSchoolMask() const
Definition: SpellInfo.cpp:1969
int32 AreaGroupId
Definition: SpellInfo.h:389
float GetMaxRange(bool positive=false, Unit *caster=nullptr, Spell *spell=nullptr) const
Definition: SpellInfo.cpp:2303
uint32 GetExplicitTargetMask() const
Definition: SpellInfo.cpp:2037
bool NeedsExplicitUnitTarget() const
Definition: SpellInfo.cpp:1016
SpellCastResult CheckLocation(uint32 map_id, uint32 zone_id, uint32 area_id, Player const *player=nullptr, bool strict=true) const
Definition: SpellInfo.cpp:1472
uint32 ExcludeCasterAuraSpell
Definition: SpellInfo.h:343
uint32 SpellFamilyName
Definition: SpellInfo.h:385
uint32 AuraInterruptFlags
Definition: SpellInfo.h:351
SpellCastResult CheckExplicitTarget(Unit const *caster, WorldObject const *target, Item const *itemTarget=nullptr) const
Definition: SpellInfo.cpp:1919
Definition: TemporarySummon.h:40
uint32 GetSpell() const
Definition: TradeData.h:49
bool IsVehicle() const
Definition: Unit.h:1416
Vehicle * GetVehicle() const
Definition: Unit.h:2349
Unit * GetOwner() const
Definition: Unit.cpp:10548
Pet * ToPet()
Definition: Unit.h:2393
virtual bool HasSpellCooldown(uint32) const
Definition: Unit.h:2413
ShapeshiftForm GetShapeshiftForm() const
Definition: Unit.h:2068
virtual bool HasSpellItemCooldown(uint32, uint32) const
Definition: Unit.h:2414
bool IsInDisallowedMountForm() const
Definition: Unit.cpp:21244
void CombatStart(Unit *target, bool initialAggro=true)
Definition: Unit.cpp:13529
bool HasUnitFlag2(UnitFlags2 flags) const
Definition: Unit.h:1484
bool IsInSanctuary() const
Definition: Unit.h:1514
uint8 getClass() const
Definition: Unit.h:1424
AuraEffect * IsScriptOverriden(SpellInfo const *spell, int32 script) const
Definition: Unit.cpp:5709
float GetCombatReach() const override
Definition: Unit.h:1347
UnitFlags GetUnitFlags() const
Definition: Unit.h:1477
TempSummon * ToTempSummon()
Definition: Unit.h:2395
bool HasStealthAura() const
Definition: Unit.h:1703
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
Definition: Unit.cpp:5598
std::map< uint8, AuraApplication * > VisibleAuraMap
Definition: Unit.h:1312
bool IsInFlight() const
Definition: Unit.h:1673
SpellImmuneList m_spellImmune[MAX_SPELL_IMMUNITY]
Definition: Unit.h:2133
void SendTameFailure(uint8 result)
Definition: Unit.cpp:20008
bool HasUnitMovementFlag(uint32 f) const
Definition: Unit.h:2269
virtual bool IsInWater() const
Definition: Unit.cpp:4267
bool HasAuraState(AuraStateType flag, SpellInfo const *spellProto=nullptr, Unit const *Caster=nullptr) const
Definition: Unit.cpp:10495
bool isMoving() const
Definition: Unit.h:2375
ObjectGuid GetCharmGUID() const
Definition: Unit.h:1819
VisibleAuraMap const * GetVisibleAuras()
Definition: Unit.h:2148
bool IsMounted() const
Definition: Unit.h:1540
Unit * GetVictim() const
Definition: Unit.h:1386
bool IsCritter() const
Definition: Unit.h:1671
ObjectGuid GetOwnerGUID() const
Definition: Unit.h:1811
uint8 GetComboPoints(Unit const *who=nullptr) const
--------—Combo point system----------------—
Definition: Unit.h:2285
ObjectGuid GetCharmerGUID() const
Definition: Unit.h:1817
uint32 getTransForm() const
Definition: Unit.h:2169
Powers getPowerType() const
Definition: Unit.h:1457
void RemoveMovementImpairingAuras(bool withRoot)
Definition: Unit.cpp:5137
bool IsTotem() const
Definition: Unit.h:1415
Guardian * GetGuardianPet() const
Definition: Unit.cpp:10599
ObjectGuid GetTarget() const
Definition: Unit.h:2428
bool IsInCombat() const
Definition: Unit.h:1685
ObjectGuid GetPetGUID() const
Definition: Unit.h:1821
VehicleSeatEntry const * GetSeatForPassenger(Unit const *passenger)
Definition: Vehicle.cpp:585
uint32 GetMapId() const
Definition: Position.h:276
Map * GetMap() const
Definition: Object.h:517
InstanceScript * GetInstanceScript() const
Definition: Object.cpp:1192
bool IsWithinLOSInMap(WorldObject const *obj, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS, Optional< float > collisionHeight={ }) const
Definition: Object.cpp:1347
bool IsOutdoors() const
Definition: Object.cpp:3083
bool IsWithinLOS(float x, float y, float z, VMAP::ModelIgnoreFlags ignoreFlags=VMAP::ModelIgnoreFlags::Nothing, LineOfSightChecks checks=LINEOFSIGHT_ALL_CHECKS) const
Definition: Object.cpp:1326
float GetVisibilityRange() const
Definition: Object.cpp:1645
uint32 GetAreaId() const
Definition: Object.cpp:3066
uint32 GetZoneId() const
Definition: Object.cpp:3058
void GetZoneAndAreaId(uint32 &zoneid, uint32 &areaid) const
Definition: Object.cpp:3074
uint32 GetRecruiterId() const
Definition: WorldSession.h:523
uint32 GetAccountId() const
Definition: WorldSession.h:359
bool IsPathfindingEnabled(const Map *map)
Definition: DisableMgr.cpp:402
Seconds GetGameTime()
Definition: GameTime.cpp:38
Player * FindPlayer(ObjectGuid const guid)
Definition: ObjectAccessor.cpp:250
Definition: DBCStructure.h:519
uint32 ErrorType
Definition: ConditionMgr.h:204
uint8 ConditionTarget
Definition: ConditionMgr.h:208
uint32 ErrorTextId
Definition: ConditionMgr.h:205
Definition: ConditionMgr.h:181
Condition * mLastFailedCondition
Definition: ConditionMgr.h:183
WorldObject * mConditionTargets[MAX_CONDITION_TARGETS]
Definition: ConditionMgr.h:182
SkillType GetRequiredLootSkill() const
Definition: CreatureData.h:246
bool IsTameable(bool exotic) const
Definition: CreatureData.h:263
uint32 type
Definition: GameObject.h:43
Definition: DBCStructure.h:1012
bool AllowMount
Definition: Map.h:276
uint32 ItemLevel
Definition: ItemTemplate.h:644
uint32 LockID
Definition: ItemTemplate.h:678
uint32 InventoryType
Definition: ItemTemplate.h:641
bool isLooted() const
Definition: LootMgr.h:368
Definition: DBCStructure.h:1308
bool IsDungeon() const
Definition: DBCStructure.h:1334
void GetPosition(float &x, float &y) const
Definition: Position.h:122
Definition: DBCStructure.h:1778
uint32 flags1
Definition: DBCStructure.h:1783
Definition: DBCStructure.h:1871
uint32 Category
Definition: DBCStructure.h:1873
Definition: DBCStructure.h:2026
uint32 m_flags
Definition: DBCStructure.h:2028